﻿Imports ML.Framework.Collections

Public Class AudioMediaFile
    Inherits MediaFileBase
    Implements IAudioMediaFile

#Region "Private Fields"
    Private _Album As Album
    Private _Genres As ReadOnlyCollection(Of Genre)
    Private _Length As TimeSpan
    Private _TrackNumber As Integer
    Private _Artists As ReadOnlyCollection(Of SongArtist)
#End Region

#Region "Properties"
    Public ReadOnly Property Album() As Album Implements IAudioMediaFile.Album
        Get
            Return _Album
        End Get
    End Property

    Public ReadOnly Property Genres() As System.Collections.Generic.IEnumerable(Of Genre) Implements IAudioMediaFile.Genres
        Get
            Return _Genres
        End Get
    End Property

    Public ReadOnly Property Length() As System.TimeSpan Implements IAudioMediaFile.Length
        Get
            Return _Length
        End Get
    End Property

    Public ReadOnly Property TrackNumber() As Integer Implements IAudioMediaFile.TrackNumber
        Get
            Return _TrackNumber
        End Get
    End Property

    Public ReadOnly Property Artists() As System.Collections.Generic.IEnumerable(Of SongArtist) Implements IAudioMediaFile.Artists
        Get
            Return _Artists
        End Get
    End Property
#End Region

    Public Sub New(ByVal Source As String, ByVal Artists As IEnumerable(Of SongArtist), ByVal Album As Album, ByVal tracknumber As Integer, ByVal Length As TimeSpan)
        MyBase.New(Source)
    End Sub

    Public Sub New(ByVal Source As IO.FileInfo)
        MyBase.New(Source)
    End Sub
End Class
